package com.example.listenerproject;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity implements View.OnClickListener {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Button inner_class_listener = findViewById(R.id.inner_class_listener);
        Button ext_class_listener = findViewById(R.id.ext_class_listener);
        Button sef_class_listener = findViewById(R.id.sef_class_listener);


        //方法三、设置按钮监听 -该示例使用了OnClickListener匿名内部类的方式实现
        inner_class_listener.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(MainActivity.this, InnerClassAct.class);
                startActivity(intent);
            }
        });

        ext_class_listener.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(MainActivity.this, ExternalActivity.class);
                startActivity(intent);
            }
        });

        //方法四：通过MainActivity实现OnClickListener接口
        //在此MainActivity就具备了OnClickListener接口功能-onClick
        sef_class_listener.setOnClickListener(this);
    }


    //方法四：通过MainActivity实现OnClickListener接口
    @Override
    public void onClick(View v) {
       switch (v.getId()){
           case R.id.sef_class_listener:
               Toast.makeText(this, "直接使用 Activity 作为事件监听器的按钮", Toast.LENGTH_SHORT).show();
               break;
           default:
               break;
       }

    }
}